// index.js

Page({
  data: {
    item: 0, // 标签页当前显示页面的序号
    currentExpertType: 'fitness', // 当前选中的专家类型
    
    // 各类咨询服务数据
    fitnessExpertList: [
      { id: 1, img: '/images/ceshi4.jpg', name: '运动健身指导', desc: '提供专业的健身计划和训练方案，解答运动相关问题。' }
    ],
    healthExpertList: [
      { id: 4, img: '/images/ceshi1.jpg', name: '亚健康调理', desc: '针对现代人常见的亚健康状态，提供生活方式改善建议。' }
    ],
    medicineExpertList: [
      { id: 7, img: '/images/ceshi2.jpg', name: '中医体质辨识', desc: '依据中医理论辨别体质类型，提供个性化调养方案。' }
    ],
    currentExpertList: [], // 当前显示的专家列表
    
    currentExpertListOpacity: 1 // Added for the new switchExpertType method
  },
  onLoad() {
    // 初始化当前显示的专家列表
    this.setCurrentExpertList('fitness');
    this.loadNewsList();
    this.loadHealthList();
  },
  // 切换咨询类型
  switchExpertType(e) {
    const type = e.currentTarget.dataset.type;
    if (type === this.data.currentExpertType) return;
    
    // 先设置列表透明度为0，创造淡出效果
    this.setData({
      currentExpertListOpacity: 0
    });
    
    // 延迟更新列表内容，等待淡出动画完成
    setTimeout(() => {
      this.setCurrentExpertList(type);
      
      // 然后重新设置透明度为1，创造淡入效果
      setTimeout(() => {
        this.setData({
          currentExpertListOpacity: 1
        });
      }, 50);
    }, 150);
  },
  // 设置当前显示的咨询服务列表
  setCurrentExpertList(type) {
    let currentList = [];
    switch(type) {
      case 'fitness':
        currentList = this.data.fitnessExpertList;
        break;
      case 'health':
        currentList = this.data.healthExpertList;
        break;
      case 'medicine':
        currentList = this.data.medicineExpertList;
        break;
    }
    this.setData({
      currentExpertType: type,
      currentExpertList: currentList
    });
  },
  
  changeTab(e) {
    this.setData({
      item: Number(e.currentTarget.dataset.item)
    });
  },
  onSwiperChange(e) {
    this.setData({
      item: e.detail.current
    });
  },
  // 跳转到健康资讯页面
  goToHealth() {
    wx.switchTab({
      url: '/pages/healthlife/healthlife'
    });
  },
  // 跳转到养生保健页面
  goToFestival() {
    wx.switchTab({
      url: '/pages/healthlife/healthlife'
    });  
  },
  // 跳转到咨询页面
  goToConsult() {
    // 保存当前选择的咨询类型到缓存，供咨询页面使用
    wx.setStorageSync('consultType', this.data.currentExpertType);
    wx.setStorageSync('consultInfo', this.data.currentExpertList[0]);
    
    wx.switchTab({
      url: '/pages/consult/consult'
    });
  },
  

  
  // 加载新闻列表
  loadNewsList() {
    console.log('开始加载新闻列表...');
    wx.request({
      url: 'http://localhost:8080/news',
      method: 'GET',
      success: (res) => {
        console.log('新闻列表请求成功，返回数据：', res);
        if (res.data && res.data.data) {
          console.log('新闻数据存在，数据长度：', res.data.data.length);
          // 只取前4条，并映射字段
          const newsList = res.data.data.slice(0, 4).map(item => ({
            id: item.id,
            img: item.coverImg,
            title: item.title,
            desc: item.content ? item.content.substring(0, 30) + '...' : ''
          }));
          console.log('处理后的新闻列表数据：', newsList);
          this.setData({ newsList });
        } else {
          console.log('新闻数据格式不正确或为空：', res.data);
        }
      },
      fail: (error) => {
        console.error('获取新闻列表失败，错误详情：', error);
        console.log('请求URL：', 'http://localhost:8080/news');
        console.log('请求方法：', 'GET');
        wx.showToast({
          title: '获取新闻列表失败',
          icon: 'none'
        });
      }
    });
  },
  // 加载养生列表
  loadHealthList() {
    wx.request({
      url: 'http://localhost:8080/articles', 
      method: 'GET',
      success: (res) => {
        if (res.data && res.data.data) {
          // 只取前4条，并映射字段
          const healthList = res.data.data.slice(12, 16).map(item => ({
            id: item.id,
            img: item.coverImg,
            title: item.title,
            desc: item.content ? item.content.substring(0, 30) + '...' : ''
          }));
          this.setData({ healthList });
        }
      }
    });
  },
  changeTab(e) {
    this.setData({
      item: Number(e.currentTarget.dataset.item)
    });
  },
  onSwiperChange(e) {
    this.setData({
      item: e.detail.current
    });
  },
  // 跳转到健康资讯详情页
  goToHealthDetails(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/healthlife/healthdetails/healthdetails?id=${id}`
    });
  },
  // 跳转到养生保健详情页
  goToFestivalDetails(e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/healthlife/festivaldetails/festivaldetails?id=${id}`
    });
  }
})
